<!--
  This file is a part of the open-eBackup project.
  This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
  If a copy of the MPL was not distributed with this file, You can obtain one at
  http://mozilla.org/MPL/2.0/.
  
  Copyright (c) [2024] Huawei Technologies Co.,Ltd.
  
  THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
  EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
  MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
  -->

<div class="aui-gutter-column-xl">
  <lv-form>
    <lv-form-label>
      {{'system_choose_type_label' | i18n}}
    </lv-form-label>
    <lv-radio-group [(ngModel)]="type" (ngModelChange)="typeChange($event)">
      <lv-group [lvGutter]="'16px'">
        <lv-radio lvValue="old">{{'system_choose_exist_label' | i18n}}</lv-radio>
        <lv-radio lvValue="new">{{'system_create_new_label' | i18n}}</lv-radio>
      </lv-group>
    </lv-radio-group>
  </lv-form>
</div>

<div [hidden]="type !== 'old'">
  <lv-pro-table #roleDataTable [config]="roleTableConfig" [data]="roleTableData"></lv-pro-table>
  <ng-template #treeTableTpl let-item>
    <aui-role-auth-tree [data]="item"></aui-role-auth-tree>
  </ng-template>
</div>

<div [hidden]="type !== 'new'">
  <aui-create-role-form [formGroup]="formGroup"></aui-create-role-form>
</div>

<ng-template #roleNameTpl let-item>
  <lv-group lvGutter="6px">
    <span lv-overflow>{{item?.roleName}}</span>
    <lv-tag *ngIf="item?.is_default" [ngModel]="[{label: i18n.get('system_builtin_label')}]"></lv-tag>
  </lv-group>
</ng-template>
